package com.mryin.performance.pojo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.CellStyle;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * 
 * </p>
 *
 * @author MRYIN
 * @since 2021-03-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
//@Accessors(chain = true)
@ApiModel(value="Task对象", description="")
public class Task  extends BaseRowModel implements Serializable{

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "零件编号")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    @ExcelProperty(value = "零件编号", index = 0)
    private String id;

    @ApiModelProperty(value = "装配的单价")
    @ExcelProperty(value = "装配的单价", index = 1)
    private Integer monovalent;

    @ApiModelProperty(value = "装配此零件的市场价")
    @ExcelProperty(value = "装配此零件的市场价", index = 2)
    private Integer marketprice;

    @ApiModelProperty(value = "任务负责人")
    @ExcelProperty(value = "任务负责人", index = 3)
    private String name;

    @ApiModelProperty(value = "装配任务状态")
    @ExcelProperty(value = "装配任务状态")
    private Integer status;

    @ApiModelProperty(value = "未完成原因")
    @ExcelProperty(value = "未完成原因")
    private String reason;

    @ApiModelProperty(value = "工艺类型")
    @ExcelProperty(value = "工艺类型")
    private String tasktype;

    @ApiModelProperty(value = "接单时间")
    @TableField(fill = FieldFill.INSERT)
    @ExcelProperty(value = "接单时间")
    private Date createTime;

    @ApiModelProperty(value = "计划完成时间")
    @ExcelProperty(value = "计划完成时间")
    private Date finishTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "审核人")
    @ExcelProperty(value = "审核人")
    private String confirmName;

    @ApiModelProperty(value = "审核时间")
    @ExcelProperty(value = "审核时间")
    private Date confirmTime;

    @ApiModelProperty(value = "审核的状态")
    @ExcelProperty(value = "审核的状态")
    private Integer auditingstatus;

    @ApiModelProperty(value = "审核未通过的原因")
    @ExcelProperty(value = "审核未通过的原因")
    private String auditingreason;

    @ExcelIgnore
    private Map<Integer, CellStyle> cellStyleMap;

}
